using B.S.XZYData.Domain.Inventory;

namespace B.S.XZYData.Api.Read.DTO
{
    /// <summary>
    /// 库存收发明细数据传输对象
    /// </summary>
    public class DetailsDTO : DetailsModel
    {
        /// <summary>
        /// 操作类型（入库/出库）
        /// </summary>
        public string OperationType { get; set; } = string.Empty;
        
        /// <summary>
        /// 操作类型描述
        /// </summary>
        public string OperationTypeDescription { get; set; } = string.Empty;
        
        /// <summary>
        /// 库存变化方向（增加/减少）
        /// </summary>
        public string StockChangeDirection { get; set; } = string.Empty;
        
        /// <summary>
        /// 库存变化描述
        /// </summary>
        public string StockChangeDescription { get; set; } = string.Empty;
        
        /// <summary>
        /// 库存状态（基于当前库存）
        /// </summary>
        public string StockStatus { get; set; } = string.Empty;
        
        /// <summary>
        /// 库存状态描述
        /// </summary>
        public string StockStatusDescription { get; set; } = string.Empty;
        
        /// <summary>
        /// 是否需要补货
        /// </summary>
        public bool NeedReplenishment { get; set; }
        
        /// <summary>
        /// 是否需要减少库存
        /// </summary>
        public bool NeedReduceStock { get; set; }
        
        /// <summary>
        /// 库存利用率（当前库存/最大库存）
        /// </summary>
        public decimal StockUtilizationRate { get; set; }
        
        /// <summary>
        /// 安全库存覆盖率（当前库存/安全库存）
        /// </summary>
        public decimal SafetyStockCoverage { get; set; }
        
        /// <summary>
        /// 库存变化百分比
        /// </summary>
        public decimal StockChangePercentage { get; set; }
    }
}

